Once grant refs run out, netfront prints a nice message, but doesn't set
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Sun, 30 Oct 2005 15:43:05 +0000 (16:43 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Sun, 30 Oct 2005 15:43:05 +0000 (16:43 +0100)
err properly to notify the caller, and the domU crashes. (See bug 183 for
details).

Signed-off-by: Jim Dykman <dykman@us.ibm.com>
linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c

index 1b43e5ed38873303ee9b4553a0adb48b3eae9413..c5f1d5448eef27e68a78123a9092fe920d623546 100644 (file)
@@ -877,6 +877,7 @@ static int create_netdev(int handle, struct xenbus_device *dev,
        if (gnttab_alloc_grant_references(NETIF_TX_RING_SIZE,
                                          &np->gref_tx_head) < 0) {
                printk(KERN_ALERT "#### netfront can't alloc tx grant refs\n");
+               err = -ENOMEM;
                goto exit;
        }
        /* A grant for every rx ring slot */
@@ -884,6 +885,7 @@ static int create_netdev(int handle, struct xenbus_device *dev,
                                          &np->gref_rx_head) < 0) {
                printk(KERN_ALERT "#### netfront can't alloc rx grant refs\n");
                gnttab_free_grant_references(np->gref_tx_head);
+               err = -ENOMEM;
                goto exit;
        }